package org.jeecg.modules.wmhb.entity;

import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import java.util.ArrayList;
import java.util.List;

@Data
public class BOMNode implements Serializable {
    @Excel(name = "阶数")
    private Integer level;

    @Excel(name = "产品编码")
    private String code;

    @Excel(name = "产品名称")
    private String name;

    @Excel(name = "父产品编码")
    private String pcode;

    @Excel(name = "单位", dicCode = "unit_of_measure")
    @Dict(dicCode = "unit_of_measure")
    private String unitOfMeasure;

    @Excel(name = "数量")
    private Double quantity;

    @Excel(name = "单重")
    private Double singleWeight;

    @Excel(name = "总重")
    private Double totalWeight;

    @Excel(name = "规格")
    private String specification;

    @Excel(name = "尺寸")
    private String size;

    @Excel(name = "材质")
    private String material;

    @Excel(name = "工艺单号")
    private String processNo;

    @Excel(name = "产品物料标识", dicCode = "item_or_product")
    @Dict(dicCode = "item_or_product")
    private String itemOrProduct;  // 产品物料标识

    @Excel(name = "产品性质", width = 15, dicCode = "task_type")
    @Dict(dicCode = "task_type")
    private String taskType;       // 产品性质（自制，外协，外购，安装材料，安装调试，技术服务）

    @Excel(name = "物料类型", width = 15, dicCode = "item_type")
    @Dict(dicCode = "item_type")
    private String itemType;       // 物料类型（五金类，塑料类等）

    @Excel(name = "是否发货单位", width = 15, dicCode = "sys_yes_no")
    @Dict(dicCode = "sys_yes_no")
    private String isSendUnit;     // 是否发货单位

    @Excel(name = "是否需要报料", width = 15, dicCode = "sys_yes_no")
    @Dict(dicCode = "sys_yes_no")
    private String isNeedBuy;     // 是否需要报料

    private String status;         // 导入状态

    private String result;
}
